#include<bits/stdc++.h>
using namespace std;
#define ull unsigned long long
ull a[5005], n, m, k, dp[5005][5005];
ull call(ull i, ull cnt){
if(dp[i][cnt]!=-1)
return dp[i][cnt];
if(i>(n-m) || cnt>=k)
return 0;
ull opt1=0, opt2=0;
for(ull v=i; v<i+m; v++){
opt1+=a[v];
}
opt1= opt1+call(i+m, cnt+1);
opt2= call(i+1, cnt);
return dp[i][cnt]= max(opt1,opt2);
}
main(){
cin>> n>> m>> k;
memset(dp, -1, sizeof dp);
for(ull i=0;i<n;i++)
cin>>a[i];
cout<< call(0,0) <<endl;
}
1711A - Perfect Permutation | 1701B - Permutation |
1692A - Marathon | 1066A - Vova and Train |
169B - Replacing Digits | 171D - Broken checker |
380C - Sereja and Brackets | 1281B - Azamon Web Services |
1702A - Round Down the Price | 1681C - Double Sort |
12A - Super Agent | 1709A - Three Doors |
1680C - Binary String | 1684B - Z mod X = C |
1003A - Polycarp's Pockets | 1691B - Shoe Shuffling |
1706A - Another String Minimization Problem | 1695B - Circle Game |
1702B - Polycarp Writes a String from Memory | 1701A - Grass Field |
489C - Given Length and Sum of Digits | 886B - Vlad and Cafes |
915A - Garden | 356A - Knight Tournament |
1330A - Dreamoon and Ranking Collection | 1692B - All Distinct |
1156C - Match Points | 1675A - Food for Animals |
1328C - Ternary XOR | 1689A - Lex String |